package br.com.conceito.controle;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

import org.primefaces.event.FileUploadEvent;
import org.primefaces.model.TreeNode;

import br.com.conceito.dao.ArvoreDAO;
import br.com.conveito.entidade.Arquivo;
import br.com.conveito.service.ArquivoServico;

@ManagedBean
@RequestScoped
public class Arvore {

	private String			idNoSelecionado;
	private TreeNode		root;
	private List<Arquivo>	arquivos	= new ArrayList<Arquivo>();
	private String			destino		= "C://Users//Daniel//Desktop//Nova//";

	public Arvore() {
		ArvoreDAO arvoreDAO = new ArvoreDAO();
		root = arvoreDAO.montaArvore();
	}

	public void add() {
		System.out.println(idNoSelecionado);
	}

	public void fileUploadAction(FileUploadEvent fileUploadEvent) {
		ArquivoServico.carregarCaminhoCompletoDoNoPai(obtemIdNoDoContexto());
//		Arquivo arquivo = new Arquivo();
//		arquivo.setData(new Date());
//		arquivo.setCaminho(destino);
//		arquivo.setIdPai(obtemIdNoDoContexto());
//		arquivo.setNome(fileUploadEvent.getFile().getFileName());
//		try {
//			ArquivoServico.salvarArquivo(fileUploadEvent.getFile().getInputstream(), destino, arquivo);
//		} catch (IOException e) {
//			e.printStackTrace();
//		}
	}

	private Integer obtemIdNoDoContexto(){
		String idNo = (String) ((HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest()).getSession().getAttribute("idNo");
		return new Integer(idNo);
	}
	
	public TreeNode getRoot() {
		return root;
	}

	public String getIdNoSelecionado() {
		return idNoSelecionado;
	}

	public void setIdNoSelecionado(String idNoSelecionado) {
		this.idNoSelecionado = idNoSelecionado;
	}

	public List<Arquivo> getArquivos() {
		return arquivos;
	}

}
